From: Luiz Angelo Daros de Luca Date: Sat, 4 Oct 2014 19:54:24 +0000 (-0300) Subject: ruby: wrap script to disable gems if not installed X-Git-Url: http://git.openwrt.org/%22https:/collectd.org/%22http:/www.crowdsec.net//%22https%22/%22https:/collectd.org/%22http:/www.crowdsec.net/%22https%22?a=commitdiff_plain;h=a0e65256e93dac17d221bf788507285ba0eca632;p=feed%2Fpackages.git ruby: wrap script to disable gems if not installed ruby, by default, try to load gems on start. If not present, it fails. As gems brings many deps, this make ruby unsuitable for routers limited resources. ruby can avoid to load gems with the option "--disable-gems". So, a wrap script in the place of /usr/bin/ruby adds this option if gems are not found. Also add vendor/site directories Signed-off-by: Luiz Angelo Daros de Luca --- diff --git a/lang/ruby/Makefile b/lang/ruby/Makefile index c540e77922..66d58e33a2 100644 --- a/lang/ruby/Makefile +++ b/lang/ruby/Makefile @@ -16,7 +16,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ruby PKG_VERSION:=2.1.2 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_LIBVER:=2.1 @@ -223,7 +223,13 @@ MAKE_FLAGS += \ define Package/ruby/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER) + $(INSTALL_DIR) $(1)/usr/lib/ruby/vendor_ruby/$(PKG_LIBVER) + $(INSTALL_DIR) $(1)/usr/lib/ruby/site_ruby/$(PKG_LIBVER) + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/lib/ruby/ruby$(PKG_LIBVER)-bin + $(INSTALL_BIN) ./files/ruby $(1)/usr/bin/ruby + sed -i -e "s%@RUBY_LIBPATH@%/usr/lib/ruby/$(PKG_LIBVER)%" $(1)/usr/bin/ruby + sed -i -e "s%@RUBY_BINPATH@%/usr/lib/ruby/ruby$(PKG_LIBVER)-bin%" $(1)/usr/bin/ruby endef define Package/libruby/install diff --git a/lang/ruby/files/ruby b/lang/ruby/files/ruby new file mode 100644 index 0000000000..e4904fc2f7 --- /dev/null +++ b/lang/ruby/files/ruby @@ -0,0 +1,5 @@ +#!/bin/sh +if ! [ -r "@RUBY_LIBPATH@/rubygems.rb" ]; then + exec @RUBY_BINPATH@ --disable-gems "$@" +fi +exec @RUBY_BINPATH@ "$@"